import {fileURLToPath, URL} from 'node:url'

import {defineConfig, loadEnv} from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'

// https://vite.dev/config/
export default  defineConfig(({command, mode}) => {

    const env = loadEnv(mode, process.cwd(), 'VITE_')
    console.log(mode)
    console.log(env)
    const config = {
        // define: {
        //     'import.meta.env.VITE_API_URL': JSON.stringify(env.VITE_API_URL)
        // },
        plugins: [
            vue(),
            vueDevTools(),//启用vue开发工具包插件
        ],
        resolve: {
            alias: {
                '@': fileURLToPath(new URL('./src', import.meta.url))
            },
        },
        // 4. 服务器配置（开发环境）
        server: {
            host: '0.0.0.0',           // 允许外部访问
            port: 8888,                // 端口
            open: true,                // 启动时自动打开浏览器
            strictPort: false,         // 端口被占用时尝试下一个
            // https: false,             // 是否启用 HTTPS
            proxy: {
                // 配置代理（解决跨域）
                // '/api': {
                //     target: env.VITE_APP_BASE_SERVICE_API+env.VITE_APP_BASE_API,
                //     changeOrigin: true,
                //     rewrite: path => path.replace(/^\/api/, '')
                // },
                // '/mock': {
                //     target: '',//目标地址
                //     changeOrigin: true
                // }
            },
            cors: true,                // 启用 CORS
            hmr: {
                overlay: true            // 错误时显示全屏覆盖
            }
        },
        //环境前缀配置
        envPrefix: ['VITE_', 'APP_', 'API_'],
    }
    if (command === 'serve') {
        // command === 'serve' 开发环境单独配置
    } else {
        // command === 'build' 发布环境单独配置
        //例：禁用console.log()
        console.log = () => {
        };

    }

    return config;

})
